package com.myy.auth.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.List;

/**
 * 系统菜单表
 * @TableName sys_menu
 */
@Data
public class MenuVo {
    /**
     * 菜单主键
     */
    private String id;

    /**
     * 所属系统编码
     */
    @NotBlank(message = "系统编码不能为空")
    private String sysCode;

    /**
     * 父菜单ID，顶级为0
     */
    private String parentId;

    /**
     * 菜单名称
     */
    @NotBlank(message = "菜单名称不能为空")
    private String menuName;

    /**
     * 类型(1=目录,2=菜单,3=按钮)
     */
    @NotBlank(message = "菜单类型不能为空")
    private String menuType;

    /**
     * 路由/请求路径
     */
    private String path;

    /**
     * 前端组件
     */
    private String component;

    /**
     * 权限标识
     */
    private String perms;

    /**
     * 图标
     */
    private String icon;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否外链 0=否 1=是
     */
    private Integer isFrame;

    /**
     * 显示状态 0=显示 1=隐藏
     */
    private String visible;

    /**
     * 菜单状态 1=启用 0=停用
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 孩子节点
     */
    private List<MenuVo> children;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}